package com.simple.portal.bo;

import java.util.List;

import com.simple.portal.vo.GroupInfoVO;
import com.simple.portal.vo.OrganizationVO;
import com.simple.portal.vo.UserInfoVO;
import com.simple.util.exception.SimpleApplicationException;
import com.simple.util.object.PageInfoBean;
import com.simple.util.object.portal.SessionUserBean;

public interface IUserInfoBO {
	
	UserInfoVO findById(final String id);

    List<UserInfoVO> findAll();
    
    void editPassword(final UserInfoVO userInfoVO,final String password,final String passwordNew,final String passwordConfirm) throws SimpleApplicationException;
    
    UserInfoVO findByLoginId(final String loginId);
    
    void checkLogin(final String inputPassword,final String loginId) throws SimpleApplicationException;
    
    OrganizationVO getOrganizationVOByLoginId(final String loginId);
    
    SessionUserBean getSessionUserBeanByLoginId(String loginId) throws SimpleApplicationException;

    List<UserInfoVO> findNullPasswordList();
    
    List<GroupInfoVO> findGroupInfoVOListByLoginId(String loginId);

	List<UserInfoVO> findUserInfoByPage(String userId, String userIdSearch,
			String userNameSearch, String mobilePhoneSearch,
			String statusSearch, PageInfoBean pageInfoBean);

	String addUserInfo(SessionUserBean sessionUserBean, UserInfoVO userInfoVO,
			String groupName, String siteLanguage);

	void update(SessionUserBean sessionUserBean, UserInfoVO userInfoVO,
			String groupName);

	void controlUserInfo(SessionUserBean sessionUserBean, String userId,
			String status);
}
